package h0722;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/**
  * @description 全排列，数学方法。 n!/(x!*y!*...*m!) 这里x,y表示的是重复字母
  * @author 不知名帅哥
  * @date 2024/7/22 23:28
  * @version 1.0
*/
public class Permutation2 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String s = sc.nextLine();

        System.out.println(getResult(s));
    }

    //求某个数的阶乘
    public static int factorial(int n){
        if (n==0){
            return 1;
        }
        int ans=1;
        for (int i = 1; i <= n; i++) {
            ans*=i;
        }
        return ans;
    }

    public static int getResult(String s){
        int n = s.length();
        //统计每个字母出现的次数
        Map<Character,Integer> map=new HashMap<>();
        for (int i = 0; i < s.length(); i++) {
            map.put(s.charAt(i),map.getOrDefault(s.charAt(i),0)+1);
        }
        //计算分子
        int a = factorial(n);

        //计算分母
        int b=1;
        for (Integer value : map.values()) {
            b*=value;
        }

        return a/b;
    }
}
